import request from '@/utils/request';
import { stringify } from 'qs';

/**
 * 内容项列表
 * @param params 入参？形式拼接在url之后
 * @returns
 */
export async function queryList({ ...params }): Promise<any> {
  return request.get('/content/item/page', {
    params,
  });
}
/**
 * 内容项新增
 * @param param0
 * @returns
 */
export async function addContentItem({ ...params }): Promise<any> {
  return request.post('/content/item/save', {
    data: params,
  });
}
/**
 * 内容项编辑
 * @param param0
 * @returns
 */
export async function editContentItem({ ...params }): Promise<any> {
  return request.put('/content/item/edit', {
    data: params,
  });
}
/**
 * 内容项删除
 * @param param0
 * @returns
 */
export async function delContentItem({
  sid,
  ...params
}: {
  sid?: any;
  params: object;
}): Promise<any> {
  return request.put(`/content/item/delete/${sid}`, {
    params,
  });
}
/**
 * 内容模板列表
 * @param param0
 * @returns
 */
export async function queryTempList({ ...params }): Promise<any> {
  return request.get('/content/template/page', {
    params,
  });
}
/**
 * 获取模板标签列表
 * @param param0
 * @returns
 */
export async function queryTagList({ ...params }): Promise<any> {
  return request.get('/content/template/label/list', {
    params,
  });
}
/**
 * 获取模板key列表
 * @param param0
 * @returns
 */
export async function queryKeyList({ ...params }): Promise<any> {
  return request.get('/content/template/key/list', {
    params,
  });
}
/**
 * 内容模板新增
 * @param param0
 * @returns
 */
export async function addTempItem({ ...params }): Promise<any> {
  return request.post('/content/template/save', {
    data: params,
  });
}
/**
 * 内容模板编辑
 * @param param0
 * @returns
 */
export async function editTempItem({ ...params }): Promise<any> {
  return request.put('/content/template/edit', {
    data: params,
  });
}
/**
 * 内容模板删除
 * @param param0
 * @returns
 */
export async function delTempItem({ sid }: { sid?: any }): Promise<any> {
  return request.put(`/content/template/delete/${sid}`);
}
/**
 * 模板对应内容列表
 * @param param0
 * @returns
 */
export async function queryTempContentList({ ...params }): Promise<any> {
  return request.get('/content/page', {
    params,
  });
}
/**
 * 模板对应可排序的内容列表
 * @param param0
 * @returns
 */
export async function queryTempContentSortableList({ ...params }): Promise<any> {
  return request.get('/find/sort', {
    params,
  });
}
/**
 * 受众对象列表
 * @param param0
 * @returns
 */
export async function queryAudienceList({ ...params }): Promise<any> {
  return request.post('/audience/group/list', {
    data: params,
  });
}
/**
 * 模板对应内容新增
 * @param param0
 * @returns
 */
export async function addTempContentItem({ ...params }): Promise<any> {
  return request.post('/content/save', {
    data: params,
  });
}
/**
 * 模板对应内容编辑
 * @param param0
 * @returns
 */
export async function editTempContentItem({ ...params }): Promise<any> {
  return request.put('/content/edit', {
    data: params,
  });
}
/**
 * 模板对应内容删除
 * @param param0
 * @returns
 */
export async function delTempContentItem({ sid }: { sid?: any }): Promise<any> {
  return request.put(`/content/delete/${sid}`, {});
}
/**
 * 模板对应内容-已发布内容排序
 * @param param0
 * @returns
 */
export async function sortTempContentItem(params: any): Promise<any> {
  return request.put('/content/sort', {
    data: params,
  });
}
/**
 * 模板对应内容发布/下架
 * @param param0
 * @returns
 */
export async function publishTempContentItem({ ...params }): Promise<any> {
  return request.put(`/publish?${stringify(params)}`);
}
export async function fetchDicData(): Promise<any> {
  return request.get('/datadict/finddict');
}
